package com.sky.controller;

import com.sky.service.PmsSpuInfoService;
import com.sky.to.product.SpuInfoTo;
import com.sky.utils.PageUtils;
import com.sky.utils.R;
import com.sky.vo.param.PmsSpuInfoVo;
import com.sky.vo.sku.SpuInfoAddVo;
import jakarta.annotation.Resource;
import org.springframework.web.bind.annotation.*;

@RestController
@RequestMapping("/spu")
public class PmsSpuInfoController {

    @Resource
    private PmsSpuInfoService pmsSpuInfoService;

    @PostMapping("/add")
    public R add(@RequestBody SpuInfoAddVo spuInfoAddVo) {
        boolean save = pmsSpuInfoService.addSpuInfo(spuInfoAddVo);
        return save ? R.ok() : R.error();
    }

    @GetMapping("/page")
    public R page(PmsSpuInfoVo vo) {
        PageUtils page = pmsSpuInfoService.pageQuery(vo);
        return R.ok(page);
    }

    @GetMapping("/up/{id}")
    public R up(@PathVariable("id") Long id) {
        boolean b = pmsSpuInfoService.up(id);
        return b ? R.ok() : R.error();
    }

    @GetMapping("/down/{id}")
    public R down(@PathVariable("id")  Long id) {
        boolean b = pmsSpuInfoService.down(id);
        return b ? R.ok() : R.error();
    }

    @GetMapping("/getSpuBySkuId")
    public R<SpuInfoTo> getSpuBySkuId(@RequestParam("skuId") Long skuId) {
        return R.ok(pmsSpuInfoService.getSpuBySkuId(skuId));
    }
}
